Server, image processing unit, and non-transitory recording medium for displaying error screen

ABSTRACT

A server connected to an image processing device over a network, executes: running an application that operates in cooperation with the image processing device; obtaining screen information to use the application from the application based on a request from an external device; outputting the screen information to the external device; detecting an error on the image processing device with which the application operates in cooperation; and adding error information to access an error screen constructed by the image processing device to the screen information when the error on the image processing device is detected. The server outputs the screen information with added the error information to the external device when the error information is added to the screen information.

CROSS-REFERENCE TO RELATED APPLICATIONS

The entire disclosure of Japanese patent application No. 2016-251090filed on Dec. 26, 2016, is incorporated herein by reference in itsentirety.

BACKGROUND

Technical Field

The present invention relates to a server, an image processing unit anda non-transitory recording medium. The present invention morespecifically relates to a technique to run an application on the serverconnected to an image processing device over a network, thereby enablingthe application to operate in cooperation with the image processingdevice.

Description of the Related Art

A conventional image processing device that may be a MFP (MultifunctionPeripherals) with multiple functions such as a copy function, a scanningfunction and a print function are capable of performing input jobs. Someexamples of the input jobs include a variety of jobs relating to imageprocessing such as copy jobs, scanning jobs and print jobs. There may bemore than one image processing devices placed in a place such as anoffice.

Recently, people are willing to have image processing devices capable ofperforming jobs in cooperation with a cloud service. The jobs to beperformed on the image processing device include, for example, jobs todirectly submit image data of a document obtained in the scanningfunction to a storage on the cloud and store it therein and/or jobs todirectly download the data stored in the storage on the cloud to print.

In order to meet the request, a browser is equipped with theconventional image processing device, and the browser allows cooperationbetween each function of the image processing device and the cloudservice. This known technique is introduced for example in JapanesePatent Application Laid-Open No. JP 2013-90264 A.

According to the known technique, when, for example, the browseraccesses the cloud service to display a web page, it analyzes the webpage, thereby designating the function in the image processing device tobe used by the cloud service and displaying the web page relating to thedesignated function constructed inside the image processing devicetogether with the web page provided by the cloud service. Specifically,according to the known technique, installation of a dedicated browserapplication on the image processing device allows cooperation betweenthe image processing device and the cloud service.

This, however, requires registration of the application that allowscooperation with the cloud service with every image processing devicelocated in the office, for instance. An administrator needs to implementbothersome registration, and it is also difficult for him or her tomanage each application. The application to cooperate with the cloudservice may only be registered with the limited number of the multipleimage processing devices. In such a case, if a user uses the imageprocessing device without the application, the job to perform incooperation with the cloud service cannot be processed, resulting inless user-friendliness.

In recent years, it is required to develop a system that include aserver located on a network to which multiple image processing devicesare connected and implement registration of the application capable ofperforming in cooperation with the multiple image processing deviceswith the server. The application registered with the server allowsoperation in cooperation with the network connected image processingdevice to process the job on the image processing device and incooperation with the cloud service. Hence, the user with the systemoperates the application by accessing the server, thereby allowingcooperation between each of the multiple image processing devices andthe cloud service.

In a case where the aforementioned system is developed, the applicationoperated on the server may be in communication with each imageprocessing device to execute each function in the image processingdevice. Communication between the application and each image processingdevice may be over a predetermined protocol and command. This allowsthird vendors to develop the application operated on the server.Moreover, user interfaces meet individual user's requirements may beprovided. These realize more user-friendliness.

In the case where an error such as a paper jam is occurred on the imageprocessing device, operations the user has to do to fix the error aredifferent depending on a situation or a location of the paper jam and/ora device type of the image processing device. The application mayrecognize the occurrence of the error on the image processing device incommunication with the image processing device using a predeterminedprotocol. It is, however, difficult for the application to construct ascreen to specifically indicate the operations the user should proceedto fix the error. The application may be provided by the third vendor asdescribed earlier. In such a case, it is very difficult to construct anddisplay the appropriate error screen based on the situation or thelocation of the paper jam and/or the device type of the image processingdevice.

SUMMARY

One or more embodiments of the present invention provide a server, animage processing unit and a non-transitory recording medium capable ofdisplaying appropriately image information displayed by an applicationrunning on the server and an error screen regarding an error occurred onan image processing device when the error is occurred on the imageprocessing device.

First, one or more embodiments of the present invention are directed toa server connected to an image processing device over a network.

The server of one or more embodiments of the present invention comprisesa hardware processor that: runs an application that operates incooperation with the image processing device; obtains screen informationto use the application from the application based on a request from anexternal device; outputs the screen information obtained from theapplication to the external device; detects an error on the imageprocessing device with which the application operates in cooperation;and adds error information to access an error screen constructed by theimage processing device to the screen information obtained from theapplication when the error on the image processing device is detected.The hardware processor outputs the screen information with the addederror information to the external device when the error information isadded to the screen information.

Second, one or more embodiments of the present invention are directed toan image processing unit.

The image processing unit of one or more embodiments of the presentinvention comprises: the above-described server; and an image processingdevice that operates in cooperation with an application. The server andthe image processing device are connected over a network.

Third, one or more embodiments of the present invention are directed toa non-transitory recording medium storing a computer readable program tobe executed by a server connected to an image processing device over anetwork.

The non-transitory recording medium of one or more embodiments of thepresent invention stores the computer readable program executed by theserver, wherein the program causes the server to execute: (1) running anapplication that operates in cooperation with the image processingdevice; (2) obtaining screen information to use the application from theapplication based on a request from an external device; (3) outputtingthe screen information obtained from the application to the externaldevice; (4) detecting an error on the image processing device with whichthe application operates in cooperation; and (5) adding errorinformation to access an error screen constructed by the imageprocessing device to the screen information obtained from theapplication when the error on the image processing device is detected.The screen information with the added error information is output to theexternal device when the error information is added to the screeninformation.

BRIEF DESCRIPTION OF THE DRAWING

The advantages and features provided by one or more embodiments of theinvention will become more fully understood from the detaileddescription given herein below and the appended drawings which are givenby way of illustration only, and thus are not intended as a definitionof the limits of the present invention.

FIG. 1 illustrates an exemplary conceptual configuration of an imageprocessing system in which one or more embodiments may be practiced;

FIG. 2 is a block diagram showing an example of a hardware structure anda functional structure of image processing device according to one ormore embodiments;

FIG. 3 is a block diagram showing an example of a hardware structure anda functional structure of a server according to one or more embodiments;

FIG. 4 illustrates an example of device information according to one ormore embodiments;

FIG. 5 illustrates an example of application information according toone or more embodiments;

FIGS. 6A and 6B illustrate examples of screen information output from anapplication according to one or more embodiments;

FIGS. 7A and 7B illustrate examples of a screen displayed by a browseraccording to one or more embodiments;

FIG. 8 illustrates an example of error information added by an errorinformation adding unit according to one or more embodiments;

FIG. 9 illustrates an example of a screen displayed based on the screeninformation with the added error information;

FIG. 10 is a flow diagram showing an exemplary process sequenceperformed on the server;

FIG. 11 illustrates an exemplary conceptual configuration of the imageprocessing system in which one or more embodiments may be practiced;

FIG. 12 illustrates an example of the error information added by theerror information adding unit; and

FIG. 13 illustrates a block diagram showing an example of a structure ofan image processing unit according to one or more embodiments.

DETAILED DESCRIPTION OF EMBODIMENTS

Hereinafter, embodiments the invention will be described with referenceto the drawings. However, the scope of the invention is not limited tothe disclosed embodiments.

FIG. 1 illustrates an exemplary conceptual configuration of an imageprocessing system 1 in which one or more embodiments of the presentinvention may be practiced. The image processing system 1 includesnetwork connected server 2 and multiple image processing devices 3 a, 3b, 3 c and 3 d in electronic communication with each other. Thecommunication between the server 2 and the multiple image processingdevices 3 a, 3 b, 3 c and 3 d may be over a network 8 such as a LAN(Local Area Network). Each of the multiple image processing devices 3 a,3 b, 3 c and 3 d may be a MFP (Multifunction Peripherals), for example,with multiple functions including a scanning function, a print functionand a fax function. The server 2 controls the multiple image processingdevices 3 a, 3 b, 3 c and 3 d to give instructions to process jobs tothe respective image processing devices 3 a, 3 b, 3 c and 3 d. In FIG.1, the server 2 is shown with four connected image processing devices 3a, 3 b, 3 c and 3 d as an example. The multiple image processing devices3 a. 3 b, 3 c and 3 d may be collectively referred to herein as theimage processing device 3, unless distinction of each image processingdevice is necessary.

The server 2 is shown with connected external devices such as anoperational panel 4 and an information processing device 6 except themultiple image processing devices 3. The operational panel 4 is adedicated operational device to operate the multiple image processingdevices 3 via the server 2, for example. The operational panel 4 iscapable of displaying a variety of information and detecting useroperations. The operational panel 4 has a browser 5 to obtain anddisplay a web page. The information processing device 6 may be a deviceconstructed by a device such as a personal computer (PC), a tabletterminal or a smartphone. The information processing device 6 is alsocapable of displaying a variety of information and detecting useroperations. The information processing device 6 also has a browser 7 toobtain and display the web page. The network connecting the operationalpanel 4 and the information processing device 6 may be either the sameor the different network from the network 8 connecting the multipleimage processing devices 3. When the operational panel 4 and theinformation processing device 6 are connected to the different network,the server 2 may require a router function.

The server 2 has a function as a web server as described later. Theserver 2 is shown with various types of applications installed inadvance that operate on the web server. The application allows operationin cooperation with at least one image processing device 3 of themultiple image processing devices 3 a, 3 b, 3 c and 3 d. The applicationmay enable the image processing device 3 to work together to process thejob. The application also allows to operate in cooperation with a cloudserver (not shown in the figure) on a cloud on an internet. Theapplication, for example, may enable the image processing device 3 toprocess the scanning job to obtain image data and upload the image datato the could server. The application may also download data to printfrom cloud server and send the data to the image processing device 3,thereby enabling the image processing device 3 to print based on thedata.

A user boots the browser 7 with the information processing device 6, forexample, to have an access to the server 2. The user then operates theapplication to select one of the multiple image processing devices 3 a,3 b, 3 c and 3 d to enable the image processing device 3 to process thejob. This is the same when the user operates the operational panel 4.

The image processing system 1 does not require installation of anapplication on each of the multiple image processing devices 3 a, 3 b, 3c and 3 d by an administrator. The administrator is only required toinstall the application on the server 2 and manage. A less load on theadministrator who manages the application may be realized.

FIG. 2 is a block diagram showing an example of a hardware structure anda functional structure of the image processing device 3. As its hardwarestructure, the image processing device 3 includes a controller 10, astorage 11, an operational panel 12, a communication interface 13, ascanner section 14, a printer section 15 and a fax section 16.

The controller 40 may include a CPU and a memory, for instance. The CPUis a hardware processor of the server 2. The controller 10 executes apredetermined program when a power is supplied, thereby serving as apanel controller 21, a status managing unit 22, a communicationcontroller 23 and a job controller 24.

The storage 11 is formed from a non-volatility device such as a harddisk drive (HDD) or a solid state drive (SSD), for example. Varioustypes of screens to be displayed on the operational panel 4 are storedin a screen database (DB) 17. Status information 18 includes currentstatus of the image processing device 3. The screen DB 17 and the statusinformation 18 are stored in the storage 11. The program executed by theCPU of the controller 10 may be stored in the storage 11.

The operational panel 12 is a user interface for a user to directlyoperate and use the image processing device 3. The operational panel 12includes a display unit 12 a and a manipulation unit 12 b. A variety ofinformation is displayed on the display unit 12 a. The manipulation unit12 b accepts user inputs. The display unit 12 a is constructed by adevice such as a color liquid crystal display, for instance. Themanipulation unit 12 b is constructed by parts such as a touch panelsensor arranged on the display area of the display unit 12 a and/orpush-button keys arranged around the display area of the display unit 12a.

The communication interface 13 connects the image processing device 3 tothe network 8 allowing communication with the server 2 or anotherdevice.

The scanner section 14 optically reads a document placed by the user andconstructs image data. It depends on a device type of the imageprocessing device 3 whether or not the scanner section 14 allows readingof a color document. A resolution in document reading or file format ofthe constructed image data may also depend on the device type of theimage processing device 3. Specifically, the detailed functionalstructure of the scanner section 14 depends on the device type of theimage processing device 3.

The printer section 15 forms images on a sheet material such as aprinting paper and produces a printed output based on the input imagedata. The printer section 15 may produce a color output, which dependson the device type of the image processing device 3. Capabilities of2-sided printing and booklet making or hole punching after printing, forexample, may also be depended on the device type of the image processingdevice 3. Specifically, the detailed functional structure of the printersection 15 depends on the device type of the image processing device 3.

The fax section 16 transmits and receives fax data over public phonelines, which are not shown in figures. The fax function in the imageprocessing device 3 is one of optional functions. The device typewithout the fax function does not have the fax section 16.

Functions of the controller 10 are explained next. The panel controller21 controls screens displayed on the display unit 12 a on theoperational panel 12 to accept user input. The panel controller 21includes a screen managing part 21 a. The screen managing part 21 areads screen information to display on the display unit 12 a in thescreen DB, and loads it into the memory, thereby managing the screen todisplay on the display unit 12 a. Specifically, the screen managing part21 a manages what screen is currently displayed on the display unit 12 aon the operational panel 12. The user input may be accepted through themanipulation unit 12 a. The panel controller 21 then detects informationsuch as a button displayed on a position where the user has selectedbased on the screen information managed by the screen managing part 21a. The panel controller 21 is allowed to specify what input is made bythe user. The user may give an instruction to process a job to the jobcontroller 24. In this case, the panel controller 21 outputs the jobprocessing instruction to the job controller 24.

The status managing unit 22 manages current status of the imageprocessing device 3. In the case where the error such as the paper jamis occurred on the image processing device 3. The status managing unit22 then detects the error, and records information indicating to be inerror with the status information 18. Once the status managing unit 22detects the occurrence of the error, it notifies the panel controller 21of the error occurrence.

Once the error occurrence is notified by the status managing unit 22,the panel controller 21 brings the screen managing part 21 a intooperation. The screen managing part 21 a reads the screen informationcorresponding to the error in the screen DB 17 and displays the reactscreen information on the display unit 12 a. The paper jam at a supplyof the printing sheet may be occurred on the printer section 15, forinstance. In this case, the screen managing part 21 a specifies asituation or a location of the paper jam based on the notification fromthe status managing unit 22. The screen managing part 21 a then obtainsan error screen to indicate the user what he or she should operate toclear the paper jam from the screen DB 17, and displays the obtainedscreen on the display unit 12 a. The error screen corresponding to theerror occurred on the image processing device 3 is displayed on thedisplay unit 12 a on the operational panel 12. The error screen includesinformation to indicate the user what he or she should operate to fixthe error. The error screen corresponds to the situation or the locationof the paper jam. The error screen also depends on the device type ofthe image processing device 3.

The communication controller 23 is to be in communication with theserver 2 or the other devices via the communication interface 13. When aconfirmation request for the image processing device 3's status isreceived from the server 2, the communication controller 23 obtains thestatus information 18 from the status managing unit 22 and sends theobtained status information 18 to the server 2. Specifically, thecommunication controller 23 sends back the status information 18 as aresponse to the status confirmation request.

The server 2, the operational panel 4 or the information processingdevice 6 may place a request to obtain the screen information, which iscurrently displayed on the operational panel 12, to the communicationcontroller 23. In this case, the communication controller 23 receivedthe request obtains the current screen information managed by the screenmanaging part 21 a, and sends the screen information back as theresponse.

When the communication controller 23 receives the job processinginstruction from the server 2, it outputs the job processing instructionto the job controller 24.

The job controller 24 controls each of the scanner section 14, theprinter section 15 and the fax section 16, thereby controllingprocessing of the job specified by the user. In the case where the jobprocessing instruction is received from the panel controller 21, forexample, the job controller 24 controls processing of the job withapplying job settings, selection of which are made through theoperational panel 12. When the communication controller 23 receives thejob processing instruction from the server 2, the job controller 24controls processing of the job with applying job settings specified bythe application on the server 2.

FIG. 3 is a block diagram showing an example of a hardware structure anda functional structure of the server 2. As its hardware structure, theserver 2 includes a controller 30, a communication interfaces 31 and 32and a storage 33.

The controller 30 may include a CPU and a memory, for instance. Thecontroller 30 reads and executes a server program 34 in the storage 33at a power supply. The controller 30 may then serve as an applicationrunning unit 41, a web server 42, a communication controller 43 and anerror information adding unit 44.

The communication interface 31 is to be in communication with theoperational panel 4 and/or the information processing device 6. Thecommunication interface 32 connects the server 2 with the network 8 tobe in communication with each of the multiple image processing devices3. In the case where the operational panel 4 and the informationprocessing device 6 are connected to the network 8 to which the multipleimage processing devices 3 are connected, it is unnecessary to have thecommunication interface 31. Communications with the operational panel 4and the information processing device 6 are performed via thecommunication interface 32.

The storage 33 is formed from a non-volatility device such as a harddisk drive (HDD) or a solid state drive (SSD), for example. Anapplication program 35 run in the server 2 is stored in the storage 33besides the aforementioned server program 34. The application programs35 corresponding to the respective applications are stored in thestorage 33. Also, device information 36 and application information 37are stored in the storage 33.

The device information 36 includes information on each of the multipleimage processing devices 3 a, 3 b, 3 c and 3 d to operate in cooperationwith the server 2, which is registered in advance. FIG. 4 illustrates anexample of the device information 36. As illustrated in FIG. 4, thedevice information 36 includes information on the server 2 andinformation on the multiple image processing devices 3 a, 3 b, 3 c and 3d to operate in cooperation with the server 2. The information on eachdevice is registered by an administrator of the server 2 when the newimage processing device 3 is connected to the network 8, for instance.The information on each device in the device information 36 includes adevice name and an IP address of each device. Information on functionsin each image processing device 3 is also registered upon theregistration of the image processing device 3. In the example of FIG. 4,“the image processing device A” corresponds to the image processingdevice 3 a, “the image processing device B” corresponds to the imageprocessing device 3 b, “the image processing device C” corresponds tothe image processing device 3 c and “the image processing device D”corresponds to the image processing device 3 d. Each image processingdevice 3 a, 3 b, 3 c and 3 d has a different detailed functionalstructure of the scan function and the print function.

The application information 37 includes information on the applicationinstalled on the server 2. FIG. 5 illustrates an example of theapplication information 37. As illustrated in FIG. 5, the applicationinformation 37 includes an application name 37 a, a destination 37 b, ause function 37 c and a cooperate device 37 d of each applicationregistered with the server 2. The destination 37 b indicates an addressto access when an external device such as the operational panel 4 or theinformation processing device 6, for instance, accesses the server 2 touse the corresponding application. The use function 37 c indicates thefunctions in the image processing device 3 to use when the correspondingapplication operates in cooperation with the image processing device 3.The use function corresponding to the application may be determined byan installer when the application is registered with the server 2, forexample, and the use function 37 c may be automatically registered. Theuse function 37 c may also be registered manually by the administratorat the registration of the application 45. The cooperate device 37 dindicates the image processing device 3 with which the correspondingapplication may operate in cooperation. The image processing device 3that may process the job matching the use function corresponding to theapplication is registered as the cooperate device 37 d. The installerrefers to the device information 36 at the registration of theapplication with the server 2, for example, and automatically selectsthe image processing device 3 that may process the job matching the usefunction corresponding to the application. The cooperate device 37 d isthen registered. The cooperate device 37 d may also be registeredmanually by the administrator at the registration of the application 45.The server 2 refers to the application information 37, therebyidentifying the image processing, device 3 with which the applicationaccessed by the external device may operate in cooperation from amongthe multiple image processing devices 3 when detecting the access fromthe external device, such as the operational panel 4 or the informationprocessing device 6.

Functions of the controller 30 are explained next. The applicationrunning unit 41 reads and executes the application program 35 in thestorage 33, thereby running an application 45. The application runningunit 41 may run the application 45 on the server 2 all the times. Theapplication running unit 41 may read and executes the applicationprogram 35 corresponding to the address when the access to the addressindicated as the destination 37 b in the application information 37 isdetected, thereby running the application 45.

The application 45 constructs screen information that becomes a userinterface to operate the image processing device 3 which is allowed tooperate in cooperation of the multiple image processing devices 3, andoutputs the constructed screen information. The application 45 alsoreceives operation information from the external device, and controlsthe image processing device 3. Specifically, the application 45 sendsand receives data to and from the image processing device 3 with whichoperation in cooperation is allowed via the communication controller 43.The data is sent and received by a predetermined protocol and/orcommand. The application 45 may then serve as a web application. A webpage described in a language, such as HTML (HyperText Markup Language)or XML (Extensible Markup Language), for example, is output as thescreen information by the application 45.

FIGS. 6A and 6B illustrate examples of screen information 51. Asillustrated in FIG. 6A, the screen information 51 includes headerinformation 51 a and body information 51 b. The header information 51 ais added to a header part of the screen information 51. The headerinformation 51 a includes information on the browser 5 or 7, which maybe the destination, and/or information on the application 45, which maybe the sender, for example. The body information 51 b corresponds to abody part of the screen information 51. The body of the screeninformation 51 includes a body that includes contents for displaydisplayed by the browser 5 or 7. As illustrated in FIG. 6B, the bodyinformation 51 b constructs the web page described in the language, suchas HTML or XML. The browser 5 or 7 renders the information described inthe body information 51 b, and displays the web page provided by theapplication 45.

The web server 42 relays data communication by HTTP (Hypertext TransferProtocol) between the browser 5 or 7 in the operational panel 4 or theinformation processing device 6 and the application 45. When detectingthe access from the browser 5 or 7 via the communication interface 31,the web server 42 identifies the application 45 to access based on thedestination 37 b, the browser 5 or 7 is trying to access, and run theapplication 45.

The web server 42 includes a screen information obtaining part 46 and ascreen information outputting part 47. The screen information obtainingpart 46 obtains screen information to enable the browser 5 or 7 of theoperational panel 4 or the information processing device 6 to displayfrom the application 45. The screen information outputting part 47 sendsthe screen information obtained by the screen information obtaining part46 to the operational panel 4 or the information processing device 6,and enables the browser 5 or 7 to display. In the case where the webserver 2 detects the access from the browser 5 or 7, the screeninformation obtaining part 46 sends a request for an initial screen tothe application 45 to access, and obtains the screen informationcorresponding to the initial screen from the application 45. The screeninformation outputting part 47 sends the screen informationcorresponding to the initial screen to the browser 5 or 7 which accessesthe application 45. The screen information obtaining part 46 may thenreceive the operation information based on the user input from thebrowser 5 or 7. Upon the receipt, the screen information obtaining part46 outputs the operation information to the application 45, and obtainsthe screen information updated in accordance with the operationinformation from the application 45. Once obtaining the screeninformation updated by the screen information obtaining part 46, thescreen information outputting part 47 outputs the screen information tothe browser 5 or 7.

FIGS. 7A and 7B illustrate examples of a screen G1 displayed by thebrowser 5 or 7. The browser 5 or 7 renders the information described inthe body information 51 b in the screen information 51 as describedearlier, thereby displaying the screen G1 as illustrated in FIG. 7A. Thescreen G1 of FIG. 7A includes multiple setting items those may beconfigured by the user. The user may move a mouse pointer MP, forexample, to select and change the setting of any setting item. Thescreen G1 also includes a start button to start processing of the job.The user selects the start button to specify start of job processing.

The user is allowed to select the image processing device 3 with whichthe application 45 operates in cooperation through the screen G1. Theuser may move the mouse pointer MP to a predetermined position andclicks, for instance, a menu 56 showing the multiple image processingdevices 3 with which the application 45 may operate in cooperationappears in a list form as illustrated in FIG. 7B. The user is allowed toselect one of the multiple image processing devices 3 displayed in themenu 56 to enable cooperation with the application 45.

The communication controller 43 enables the web server 2 to be incommunication with the image processing device 3 and/or the otherdevices via the communication interface 32. Upon receipt of the commandor data which is output from the application 45 to the image processingdevice 3, the communication controller 43 sends the command or the datato the image processing device 3. Also, upon receipt of the informationor the data to the application 45 from the image processing device 3,the communication controller 43 outputs the received information or datato the application 45.

The communication controller 43 includes an error detecting part 48.Once the web server 42 detects the access from the external device, forexample, and the application 45 is being operated in the applicationrunning unit 41, the error detecting part 48 refers to the applicationinformation 37, and specifies the image processing device 3 with whichthe application 45 may operate in cooperation. The error detecting part48 sends a status confirmation request to the image processing device 3with which the application 45 may operate in cooperation. The errordetecting part 48, for example, refers to the device information 36 andidentifies the IP address of the image processing device 3. The errordetecting part 48 attaches a predetermined command with the IP addressand accesses the image processing device 3. The error detecting part 48sends the status confirmation request. The error detecting part 48 thenis allowed to obtain the status information 18 from the image processingdevice 3 with which the application 45 may operate in cooperation. Uponthe receipt of the status information 18, the error detecting part 48analyzes the status information 18, thereby determining whether or notthe error is occurred on the image processing device 3. Specifically,the error detecting part 48 detects the occurrence of the error on theimage processing device 3 based on the status information 18. In thecase where the multiple image processing devices 3 with which theapplication 45 may operate in cooperation are registered with theapplication information 37, the error detecting part 48 obtains thestatus information 18 from each of the multiple image processing devices3, and determines whether or not the error is occurred on each imageprocessing device 3.

The error detecting part 48 may place the status confirmation request tothe image processing device 3 on a periodical basis and determine theoccurrence of the error based on the status information 18 obtained fromthe image processing device on the periodical basis as the application45 is running in the application running unit 41.

Once the error detecting part 48 detects the occurrence of the error onthe age processing device 3, it brings the error information adding unit44 into operation. The error detecting part 48 notifies the errorinformation adding unit 44 of the image processing device 3 on which theerror is occurred.

When the error on the image processing device 3 is detected by the errordetecting part 48, the error information adding unit 44 adds the errorinformation to access the error screen constructed by the imageprocessing device 3 to the screen information obtained from theapplication 45 by the screen information obtaining part 46. The errorinformation adding unit 44 outputs the screen information with the errorinformation to the screen information outputting part 47. Specifically,once the error is detected by the error detecting part 48, the screeninformation outputting part 47 outputs the screen information with theerror information which is added by the error information adding unit 44to the browser 5 or 7. At this time, the screen information outputtingpart 47 does not output the screen information obtained by the screeninformation obtaining part 46 as it is.

FIG. 8 illustrates an example of error information 52 added by the errorinformation adding unit 44. There is an address (URL) for the imageprocessing device 3 on which the error is occurred to obtain the screeninformation by accessing the screen information (error screen) currentlydisplayed on the operational panel 12. The error information adding unit44 adds an iframe code and the address (URL) in the bottom of the bodyinformation 51 b in the screen information 51 as illustrated in a dashedbox of FIG. 8.

After receiving the screen information 51 with the added errorinformation 52, the browser 5 or 7 in the operational panel 4 or theinformation processing device 6 renders the body information 51 b in thescreen information 51. The body information 51 b includes the errorinformation 52. The browser 5 or 7 accesses an address of the imageprocessing device 3 in the error information 52 and obtains the screeninformation (error screen) currently displayed on the image processingdevice 3. The browser 5 or 7 renders the screen information obtainedfrom the image processing device 3, and displays the error screen as aninline frame in the screen information received from the application 45.

FIG. 9 illustrates an example of a screen G2 displayed based on thescreen information 51 with the added error information 52. Asillustrated in FIG. 9, the screen G2 includes an error screen G3 basedon the error information 52 added by the error information adding unit44 inside the screen G1 of FIG. 7. The error screen G3 is the samescreen as the error screen displayed on the image processing device 3 onwhich the error is occurred. The error screen G3 helps the user toidentify easily what error is occurred. The error screen G3 includes aguidance button B1 to guide the user what operation should he or sheperform to fix the error. When the user selects the guidance button B1,the browser 5 or 7 accesses the image processing device 3 to obtainguidance information and displays the information in the error screenG3.

The browser 5 or 7 directly obtains an image to be displayed in theerror screen G3 from the image processing device 3 without going throughthe application 45, and the image is displayed. Even in the case wherethe error is occurred on the image processing device 3 with which theapplication 45 may operate in cooperation, the server 2 may enable thebrowser 5 or 7 to display the error screen G3 without involving theapplication 45. The error screen G3 is the screen displayed on the imageprocessing device 3 on which the error is occurred. The error screen G3,therefore, may inform the user appropriately of what error is occurredon the device. There is no need for a developer to develop the errorscreen to fix a variety of errors that may be occurred on the imageprocessing device 3. The developer is allowed to effectively develop theapplication 45.

FIG. 10 is a flow diagram showing an exemplary process sequenceperformed on the server 2 which above-described structure. Upon start ofthe process, the server 2 goes into a standby state until detecting anaccess request to the application 45 from the browser 5 or 7 running onthe external device such as the operational panel 4 or the informationprocessing device 6 (step S10). When detecting the access request to theapplication 45, the server 2 identifies the application 45 to access(step S11), and outputs the received information from the browser 5 or 7to the application 45 (step S12). As a result, the application 45 startsthe process corresponding to the request from the browser 5 or 7. device3 with which the application 45 may operate in cooperation (step S14).More than one image processing devices 3 may be identified in step S14.The server 2 sends the status confirmation request to the imageprocessing device 3 thereby identified (step S15). The server 2 isallowed to obtain the status information 18 from the image processingdevice 3.

The server 2 determines whether or not the screen information 51 isreceived from the application 45 (step S16), and waits until obtainingthe screen information 51. If the screen information 51 is obtained fromthe application 45 (when a result pf step S16 is YES), the server 2analyzes the status information 18 obtained from the image processingdevice 3 to determine if the error is occurred on the image processingdevice 3 (step S17). The error may be occurred on the image processingdevice 3 (when a result of step S17 is YES). The server 2 thenconstructs the error information 52 to access the error screen createdat the image processing device 3 (step S18). The error information 52may include an address (URL) to access the error screen G3 on the imageprocessing device 3. The server 2 adds the error information 52 to thescreen information 51 obtained from the application 45 (step S19). Theerror may not be occurred on the image processing device 3 (when aresult of step S17 is NO). The process in steps S18 and S19 is thenskipped.

It is assumed, for example, that the application 45 may operate incooperation with multiple image processing devices 3, and it isdetermined that the error is occurred on at least one of the multipleimage processing devices 3. In such a case, the server 2 only constructsthe error information 52 for the access to the image processing device 3on which the error is occurred. The server 2 does not construct theerror information 52 on the image processing device 3 on which no erroris occurred. Only the error information 52 for the access to the errorscreen G3 on the image processing device 3 on which the error isoccurred is added to the screen information 51.

The server 2 then sends the screen information 51 to the external device(step S20). The browser 5 or 7 may render the screen information 51obtained from the server 2, and displays the web page provided by theapplication 45. If the error is occurred on the image processing device3 that may operate in cooperation with the application 45, the errorscreen G3 is displayed inside the screen G2 as illustrated in FIG. 9.The screen G2 shows the web page provided by the application 45. Hence,the user is allowed to find easily the error is occurred on which imageprocessing device 3 when selecting the image processing device 3 toinput the job via the application 45. The user may exclude the imageprocessing device 3 on the error is occurred not to input the job. Theuser may operate the error screen G3 to display the guidance informationto fix the error, and he or she may fix the error appropriately beforeinputting the job.

As described above, the server 2 of one or more embodiments may run theapplication 45 that operates in cooperation with the image processingdevice 3. The server 2 obtains the screen information 51 to use theapplication 45 from the application 45 and outputs the screeninformation 51 to the external device based on the request from theexternal device. In the case where the error on the image processingdevice 3 with which the application 45 operates in cooperation isdetected by the application 45, the server 2 adds the error information52 to access the error screen G3 constructed by the image processingdevice 3 to the screen information 51 obtained from the application 45,and outputs the screen information 51 with the error information 52 tothe external device.

As described above, even if the error is occurred on the imageprocessing device 3 with which the application 45 operates incooperation, it is not required to construct the detailed error screenrelating to the occurred error on the application 45. The developer mayconstruct the user interface without caring the error that may beoccurred on the image processing device 3 in the development phase ofthe application 45. Efficiency in the development of the application 45may be improved. As a result, the third vendor, for instance may easilydevelop the application 45.

As described above, if the error is occurred on the image processingdevice, which operates in cooperation with the application, the errorscreen may be displayed without the involvement of the application inthe error. In the case where the error is occurred on the imageprocessing device, the error screen relating to the error occurred onthe image processing device may be displayed appropriately with thescreen information displayed by the application, which is in operationon the server.

FIG. 11 shows an exemplary conceptual configuration of an imageprocessing system 1 a in which one or more embodiments of the presentinvention may be practiced. An add-on software 5 a is incorporated inthe browser 5 of the operational panel 4 on the image processing system1 a of FIG. 11. An add-on software 7 a is incorporated in the browser 7of the information processing device 6. The add-on software 5 a and 7 aare dedicated software used to operate in cooperation with the server 2.The add-on software 5 a and 7 a operate when the browsers 5 and 7 areaccessing the server 2.

It is assumed, for example, the occurrence of the error on the imageprocessing device 3 with which the application may operate incooperation is detected by the error detecting part 18. In this case,the error information adding unit 44 is brought into operation, and itadds the error information to the screen information 51 obtained fromthe application 45. According to one or more embodiments, when the errorinformation adding unit 44 adds the error information, the errorinformation is added to the header information 51 a in the screeninformation 51 not the body information 51 b in the screen information51. The screen information outputting part 47 of the web server 42outputs the screen information 51 including the header information 51 awith the error information 53 to the browser 5 or 7.

FIG. 12 illustrates an example of the error information 53 added by theerror information adding unit 44. The error information includes theinformation on the image processing device 3 on which the error isoccurred and the address (URL) to obtain the screen information byaccessing the screen information (error screen) displayed on the imageprocessing device 3. The error information adding unit 44 adds the errorinformation in the bottom part of the header information 51 a in thescreen information 51 as illustrated in the dashed box of FIG. 12, forexample.

After obtaining the screen information 51 from the server 2, the add-onsoftware 5 a or 7 a in the browser 5 or 7 analyzes the headerinformation 51 a and determines whether or not the error information 53is included in the header information 51 a. The error information 53 maybe included. The add-on software 5 a or 7 a then adds the errorinformation 52 as illustrated in FIG. 8 to the body information 51 b inthe screen information 51 based on the error information 53. The add-onsoftware 5 a or 7 a instructs the browser 5 or 7 for rendering based onthe screen information 51 including the body information 51 b with theerror information 52. As a result, as well as in the above-describedembodiments, the browser 5 or 7 accesses the image processing device 3on which the error is occurred to obtain the error screen, and maydisplay the error screen G3 in the web page obtained from theapplication 45 if the error information 52 is included in the bodyinformation 51 b in the screen information 51.

Specifically, in one or inure embodiments, the capability to constructthe screen information 51 including the error information 52 asillustrated in FIG. 8 is with the browsers 5 and 7 not the server 2.Even this configuration may provide the same working-effect as the oneexplained in the above-described embodiments. Everything else with oneor more embodiments disclosed herein is the same as those explained inthe above-described embodiments.

The above-described server 2 and one of the multiple image processingdevices 3 a, 3 b, 3 c and 3 d are included in a single housing, which isan image processing unit 60 with one or more embodiments disclosedbelow.

FIG. 13 illustrates a block diagram showing an example of a structure ofthe image processing unit 60. The image processing unit 60 including aserver 61, an image processing unit 62, an internal network 63 and aconnection interface 64 is configured as the single image processingdevice.

The server 61 has the same structure and functional structure as theserver 2 as discussed earlier. The communication controller 43 isconnected to the internal network 63, which allows the communicationwith the image processing unit 62 over the internal network 63.

The image processing unit 62 has the same structure functional structureas the image processing device 3 a as discussed earlier. The imageprocessing unit 62 in the image processing unit 60 becomes operative inresponse to the instruction from the server 61. It is not necessary forthe image processing unit 62 to include the operational panel 12 asdiscussed earlier. The user interface provided by the application 45 onthe server 61 is then used as the user interface to operate the imageprocessing unit 62. The image processing unit 62 is connected to theinternal network 63, and is allowed to be in communication with theserver 61. The image processing unit 62 may operate in cooperation withthe application 45 run on the server 61.

The connection interface 64 is to connect the other image processingdevices 3 b, 3 c and 3 d with the internal network 63 in the imageprocessing unit 60. Once the other image processing devices 3 b, 3 c and3 d are connected to the connection interface 64, the application 45running on the server 61 may process the job by also operating incooperation with the other image processing devices 3 b, 3 c and 3 d.

The external device such as the operational panel 4 and/or theinformation processing device 6 disclosed earlier is connected to thecommunication interface 31 in the server 61.

The image processing unit 60 has the capabilities of both the server 2and the image processing device 3 a as discussed earlier. The otherimage processing devices 3 b, 3 c and 3 d are connected to the internalnetwork 63, and the image processing system 1 and 1 a with theembodiments disclosed herein may be constructed. The implementation ofat least one image processing unit 60 allows the configuration of theimage processing systems 1. and 1 a discussed earlier with a connectionto the connection interface 64 in the image processing unit 60 from theother image processing devices 3 b, 3 c and 3 d. The image processingsystems 1 and 1 a may be constructed relatively easily in a place suchas an office. The image processing unit 60 has the server 61 inside. Itdoes not require a large space to install the image processing unit 60compared to the installation of the separate server 2.

Also, in one or more embodiments, the error information 52 and 53 isadded to the screen information 51 output from the application 45 andoutputted to the browser 5 or 7 as well as in the above-describedembodiments. The error screen G3 then may be displayed on the browser 5or 7 without involving the application 45 in the error occurred on theimage processing device 3. This configuration may provide the sameworking-effect as the ones explained in the above-described embodiments.

(Modifications)

While one or more embodiments of the present invention have beendescribed above, the present invention is not limited to theabove-described embodiments. Various modifications may be applied to thepresent invention.

In the above-described embodiments discussed earlier, for example, theerror information 52 including the irate code and the address (URL) toobtain the screen information (error screen) from the image processingdevice 3 on which the error is occurred is added to the body information51 b in the screen information 51. In the above-described embodimentsdiscussed earlier, the error screen G3 is displayed as the inline frameof the web page screen displayed based on the screen information 51received from the application 45. The error screen G3 is not alwaysdisplayed in such a manner. The error screen G3, for instance, may bedisplayed as a separate screen from the web page screen output from theapplication 45. The error information 52 added to the screen information51 may include another code to display another screen, which is not theframe code. In such a case, the error screen G3 may be displayed in atab screen which is different from the tab screen displaying the webpage received from the application 45. Alternatively, the error screenG3 may be displayed in a browser screen which is different from thebrowser screen displaying the web page received from the application 45.

Although the disclosure has been described with respect to only alimited number of embodiments, those skilled in the art, having benefitof this disclosure, will appreciate that various other embodiments maybe devised 10. without departing from the scope of the presentinvention. Accordingly, the scope of the invention should be limitedonly by the attached claims.

What is claimed is:
 1. A server connected to a plurality of imageprocessing devices over a network, comprising: a storage that stores anapplication program; and a hardware processor that: runs the applicationprogram that operates in cooperation with the image processing devices;obtains screen information to use the application program from theapplication program based on a request from an external device; outputsthe screen information obtained from the application program to theexternal device; detects an error on at least one of the imageprocessing devices; and adds error information to access an error screenconstructed by the at least one of the image processing devices to thescreen information obtained from the application program when the erroron the at least one of the image processing devices is detected, whereinthe hardware processor outputs the screen information with the addederror information to the external device when the error information isadded to the screen information, and the storage further storesapplication information that includes cooperative device informationindicating an image processing device, from among the plurality of imageprocessing devices, that is configured to execute the applicationprogram.
 2. The server according to claim 1, wherein the hardwareprocessor obtains a web page to use the application program as thescreen information based on the request from a browser running on theexternal device, and adds an address to access the error screenconstructed by the at least one of the image processing devices as theerror information to the web page.
 3. The server according to claim 1,wherein the hardware processor adds the error information in a mannerthat allows the error screen constructed by the at least one of theimage processing devices to be displayed inside the same screen as thescreen information obtained from the application program.
 4. The serveraccording to claim 1, wherein the hardware processor adds the errorinformation in a manner that allows the error screen constructed by theat least one of the image processing devices to be displayed on thescreen different from the screen information obtained from theapplication program.
 5. The server according to claim 1, wherein thehardware processor adds the error information to a body of the screeninformation obtained from the application program.
 6. The serveraccording to claim 1, wherein the hardware processor adds the errorinformation to a header of the screen information obtained from theapplication program.
 7. An image processing unit, comprising the serveraccording to claim
 1. 8. The image processing unit according to claim 7,wherein other image processing devices are connected to the network. 9.A non-transitory recording medium storing a computer readable programexecuted by a server connected to a plurality of image processingdevices over a network, wherein the server comprises: a storage thatstores an application program; and a hardware processor, the programcausing the hardware processor to execute: (1) running the applicationprogram that operates in cooperation with the image processing devices;(2) obtaining screen information to use the application program from theapplication program based on a request from an external device; (3)outputting the screen information obtained from the application programto the external device; (4) detecting an error on at least one of theimage processing devices; and (5) adding error information to access anerror screen constructed by the at least one of the image processingdevices to the screen information obtained from the application programwhen the error on the at least one of the image processing devices isdetected, wherein the screen information with the added errorinformation is output to the external device when the error informationis added to the screen information, and the storage further storesapplication information that includes cooperative device informationindicating an image processing device, from among the plurality of imageprocessing devices, that is configured to execute the applicationprogram.
 10. The non-transitory recording medium according to claim 9,wherein the program causes the server to further execute: obtaining aweb page to use the application program as the screen information basedon the request from a browser running on the external device, and addingan address to access the error screen constructed by the at least one ofthe image processing devices as the error information to the web page.11. The non-transitory recording medium according to claim 9, whereinthe program causes the server to further execute: adding the errorinformation in a manner that allows the error screen constructed by theat least one of the image processing devices to be displayed inside thesame screen as the screen information obtained from the applicationprogram.
 12. The non-transitory recording medium according to claim 9,wherein the program causes the server to further execute: adding theerror information in a manner that allows the error screen constructedby the at least one of the image processing devices to be displayed onthe screen different from the screen information obtained from theapplication program.
 13. The non-transitory recording medium accordingto claim 9, wherein the program causes the server to further execute:adding the error information to a body of the screen informationobtained from the application program.
 14. The non-transitory recordingmedium according to claim 9, wherein the program causes the server tofurther execute: adding the error information to a header of the screeninformation obtained from the application program.